package com.xue.springcloud.config;


import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration   //springboot的@Configuration相当于spring中的applicationContext.xml配置文件
public class ConfigBean {

    /**
     * IRule(@LoadBalanced的实现类)下的策略
     * RoundRobinRule  轮询策略（Ribbon负载均衡默认的策略）
     * RandomRule  轮询策略
     * AvailabilityFilteringRule  会先过滤掉跳闸（访问故障）的服务，在对剩下的服务进行轮询
     * */

    // 注册 RestTemplate Bean，方便获取
    @Bean
    @LoadBalanced   //配置Ribbon负载均衡实现RestTemplate
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}
